﻿using Newtonsoft.Json;
using XUCore.WeChat.Apis;
using XUCore.WeChat.Apis.Sns;

namespace XUCore.WeChat.Enterprise.Apis.Sns
{
    public class EnterpriseUserDetailApiResult : ApiResultBase
    {
        /// <summary>
        ///     成员UserID。若需要获得用户详情信息，可调用通讯录接口：读取成员。如果是互联企业/企业互联/上下游，则返回的UserId格式如：CorpId/userid
        /// </summary>
        [JsonProperty("userid")]
        public string userid { get; set; }

        /// <summary>
        ///     用户的性别，值为1时是男性，值为2时是女性，值为0时是未知
        /// </summary>
        [JsonProperty("gender")]
        public WeChatSexTypes gender { get; set; }

        /// <summary>
        ///     头像url。仅在用户同意snsapi_privateinfo授权时返回真实头像，否则返回默认头像
        /// </summary>
        [JsonProperty("avatar")]
        public string avatar { get; set; }

        /// <summary>
        ///     员工个人二维码（扫描可添加为外部联系人），仅在用户同意snsapi_privateinfo授权时返回
        /// </summary>
        [JsonProperty("qr_code")]
        public string qr_code { get; set; }

        /// <summary>
        ///     手机，仅在用户同意snsapi_privateinfo授权时返回，第三方应用不可获取
        /// </summary>
        [JsonProperty("mobile")]
        public string mobile { get; set; }

        /// <summary>
        ///     邮箱，仅在用户同意snsapi_privateinfo授权时返回，第三方应用不可获取
        /// </summary>
        [JsonProperty("email")]
        public string email { get; set; }

        /// <summary>
        ///     企业邮箱，仅在用户同意snsapi_privateinfo授权时返回，第三方应用不可获取
        /// </summary>
        [JsonProperty("biz_mail")]
        public string biz_mail { get; set; }

        /// <summary>
        ///     仅在用户同意snsapi_privateinfo授权时返回，第三方应用不可获取
        /// </summary>
        [JsonProperty("address")]
        public string address { get; set; }

        public override bool IsSuccess()
        {
            return !string.IsNullOrWhiteSpace(userid);
        }
    }
}
